<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>css3鼠标经过突出显示详情特效</title>

<style>
html{font-family: 'Noto Sans' , serif;}
/* 第二步：开始写CSS */
.blocks{
	margin:280px auto;
	max-width: 1070px;
	padding: 0;
}
/* 设置li样式，加上过渡动画 */
.blocks li{
	color: #fff;
	background-color: #2196F3;
	cursor: default;
	float: left;
	list-style: none;
	margin: 1%;
	padding: 60px 0;
	position: relative;
	text-align: center;
	-webkit-transition: .3s;
	transition: .3s;
	width: 31%;
	border-radius: 4px;
	font-weight: bold;
}
/* 设置放大的层的样式，默认设置透明度为0，隐藏 */
.popup{
	background-color: inherit;
	color: #fff;
	height: 100%;
	width: 100%;
	opacity: 0;
	position: absolute;
	top: 0;
    left: 0;
	padding: 15px;
	border-radius: 4px;
	-webkit-transition: .3s;
	transition: .3s;
    font-size: 12px;
    font-weight: normal;
}

.popup h3{
	font-size: 13px;
	margin: 0 0 5px;
	padding: 0;
}
/* 鼠标悬停移到最上层 */
.blocks li:hover{
	z-index: 3000;
}

/* 鼠标悬停在li时，放大1.4倍 */
.blocks li:hover .popup{
	opacity: 1;
	-webkit-transform: scale(1.4);
	-ms-transform: scale(1.4);
	transform: scale(1.4);
	box-shadow: 0 0 10px 2px rgba(0,0,0,.4);
}
</style>

</head>
<body>
<!-- 第一步：写好html布局，一个是默认标题，一个是展开的标题和内容 -->
<ul class="blocks">
	<li>
		如何学前端？
		<div class="popup">
			<span>
				<h3>如何学前端？</h3>
				HTML、CSS、JavaScript 三大件，完全掌握。不懂得就直
                接查 MDN。HTML重点掌握语义化。区分块级和内联标签。
                其他查文档就好了。还有就是定义 head 里面一些meta 了解下。
			</span>
		</div>
	</li>
	<li>
		执行go语言的命令是什么
		<div class="popup">
			<span>
				<h3>执行go语言的命令是什么</h3>
				执行go语言的命令是“go run”。“go run”命令将编译
                和执行指令合二为一，会在编译后直接运行Go语言程序，
                编译过程中会产生一个临时文件，但不会生成可执行文件；
                语法“go run fileName”，fileName参数必须是同一main
                包下的所有源文件名，并且不能为空。
			</span>
		</div>
	</li>
	<li>
		php怎么判断字符串是否含圆点
		<div class="popup">
			<span>
				<h3>php怎么判断字符串是否含圆点</h3>
				3种方法：
                1、用stripos()，语法“stripos($str, ".")”，
                返回位置值则包含。
                2、用strripos()，语法“strripos($str, ".")”，
                返回位置值则包含。
                3、用explode()，语法“explode($str,".")”，
                返回的数组为空数组则不包含，反之则包含。
			</span>
		</div>
	</li>
	<li>
		浅谈PHP 8.2的更新进展
		<div class="popup">
			<span>
				<h3>浅谈PHP 8.2的更新进展</h3>
				PHP 8.2 带来了类型系统改进、只读  类、敏感参
                数隐藏支持、新的随机  扩展，以及包括简化和
                现代化 PHP 在内的多项功能。
			</span>
		</div>
	</li>
	<li>
		jquery怎么判断是否包含某属性
		<div class="popup">
			<span>
				<h3>jquery怎么判断是否包含某属性</h3>
				实现步骤：1、使用jquery选择器获取指定元素对象，
                语法“$(selector)”；
                2、使用attr()方法获取该jquery对象的指定属性的
                属性值，语法“元素对象.attr("属性名")”；
                3、使用“==”运算符判断获取的属性值是否等于
                undefined，语法“属性值=='undefined'”，
                如果等于则不包含某属性，反之则包含。
			</span>
		</div>
	</li>
	<li>
		react怎么改变组件状态
		<div class="popup">
			<span>
				<h3>react怎么改变组件状态</h3>
				在react中，可以利用setState()来修改组件的状态。
                setState()是用于更新组件状态state的方法，
                该方法可以对组件state的更改排入队列，
                也可获取最新的状态，语法为
                “this.setState( { 要修改的部分数据 } )”。
			</span>
		</div>
	</li>
</ul>

</body>
</html>
